#!usr/bin/env python  
# -*- coding:utf-8 _*-
""" 
@author:robot
@file: splice02_sole_type.py 
@version:
@time: 2022/02/11 
"""
from TapClientCaseData.ColumnGenerateData.dynamic.splice02_oracle.splice01_category_type import *
from pprint import pprint

__all__ = [
    'SOLE_ORACLE_CHAR', 'SOLE_ORACLE_VARCHAR2', 'SOLE_ORACLE_NCHAR', 'SOLE_ORACLE_NVARCHAR2',

    'SOLE_ORACLE_NUMBER', 'SOLE_ORACLE_FLOAT', 'SOLE_ORACLE_BINARY_FLOAT', 'SOLE_ORACLE_BINARY_DOUBLE',

    'SOLE_ORACLE_DATE', 'SOLE_ORACLE_TIMESTAMP', 'SOLE_ORACLE_TIMESTAMP_WITH_TIME_ZONE',
    'SOLE_ORACLE_TIMESTAMP_WITH_LOCAL_TIME_ZONE', 'SOLE_ORACLE_INTERVAL_YEAR_TO_MONTH',
    'SOLE_ORACLE_INTERVAL_DAY_TO_SECOND',

    # 'SOLE_ORACLE_LONG', 废弃
    'SOLE_ORACLE_BLOB', 'SOLE_ORACLE_CLOB', 'SOLE_ORACLE_NCLOB',
    'SOLE_ORACLE_BFILE',

    'SOLE_ORACLE_RAW', 'SOLE_ORACLE_LONG_RAW'

]
print(f'ORACLE TYPE COUNT IS: {len(__all__)}')

# 使用 ALL_TYPE 进行列表生成式
ORACLE_SOLE_TYPE_LIST = [[PK, ONE_TYPE] for ONE_TYPE in ORACLE_ALL_TYPE[1:]]

# SOLE CHARACTER
SOLE_ORACLE_CHAR = generate_columns_data(ORACLE_SOLE_TYPE_LIST[0])
SOLE_ORACLE_VARCHAR2 = generate_columns_data(ORACLE_SOLE_TYPE_LIST[1])
SOLE_ORACLE_NCHAR = generate_columns_data(ORACLE_SOLE_TYPE_LIST[2])
SOLE_ORACLE_NVARCHAR2 = generate_columns_data(ORACLE_SOLE_TYPE_LIST[3])
# print(SOLE_ORACLE_CHAR)
# print(SOLE_ORACLE_VARCHAR2)
# print(SOLE_ORACLE_NCHAR)
# print(SOLE_ORACLE_NVARCHAR2)

# SOLE NUMERIC
SOLE_ORACLE_NUMBER = generate_columns_data(ORACLE_SOLE_TYPE_LIST[4])
SOLE_ORACLE_FLOAT = generate_columns_data(ORACLE_SOLE_TYPE_LIST[5])
SOLE_ORACLE_BINARY_FLOAT = generate_columns_data(ORACLE_SOLE_TYPE_LIST[6])
SOLE_ORACLE_BINARY_DOUBLE = generate_columns_data(ORACLE_SOLE_TYPE_LIST[7])
# print(SOLE_ORACLE_NUMBER)
# print(SOLE_ORACLE_FLOAT)
# print(SOLE_ORACLE_BINARY_FLOAT)
# print(SOLE_ORACLE_BINARY_DOUBLE)

# SOLE DATE
SOLE_ORACLE_DATE = generate_columns_data(ORACLE_SOLE_TYPE_LIST[8])
SOLE_ORACLE_TIMESTAMP = generate_columns_data(ORACLE_SOLE_TYPE_LIST[9])
SOLE_ORACLE_TIMESTAMP_WITH_TIME_ZONE = generate_columns_data(ORACLE_SOLE_TYPE_LIST[10])
SOLE_ORACLE_TIMESTAMP_WITH_LOCAL_TIME_ZONE = generate_columns_data(ORACLE_SOLE_TYPE_LIST[11])
SOLE_ORACLE_INTERVAL_YEAR_TO_MONTH = generate_columns_data(ORACLE_SOLE_TYPE_LIST[12])
SOLE_ORACLE_INTERVAL_DAY_TO_SECOND = generate_columns_data(ORACLE_SOLE_TYPE_LIST[13])
# print(SOLE_ORACLE_BINARY_DATE)
# print(SOLE_ORACLE_BINARY_TIMESTAMP)
# print(SOLE_ORACLE_BINARY_TIMESTAMP_WITH_TIME_ZONE)
# print(SOLE_ORACLE_BINARY_TIMESTAMP_WITH_LOCAL_TIME_ZONE)
# print(SOLE_ORACLE_BINARY_INTERVAL_YEAR_TO_MONTH)
# print(SOLE_ORACLE_BINARY_INTERVAL_DAY_TO_SECOND)

# SOLE LOB
# SOLE_ORACLE_LONG = generate_columns_data(ORACLE_SOLE_TYPE_LIST[14])
SOLE_ORACLE_BLOB = generate_columns_data(ORACLE_SOLE_TYPE_LIST[14])
SOLE_ORACLE_CLOB = generate_columns_data(ORACLE_SOLE_TYPE_LIST[15])
SOLE_ORACLE_NCLOB = generate_columns_data(ORACLE_SOLE_TYPE_LIST[16])
SOLE_ORACLE_BFILE = generate_columns_data(ORACLE_SOLE_TYPE_LIST[17])
# print(SOLE_ORACLE_LONG)
# print(SOLE_ORACLE_BLOB)
# print(SOLE_ORACLE_CLOB)
# print(SOLE_ORACLE_NCLOB)
# print(SOLE_ORACLE_BFILE)

# SOLE RAW
SOLE_ORACLE_RAW = generate_columns_data(ORACLE_SOLE_TYPE_LIST[18])
SOLE_ORACLE_LONG_RAW = generate_columns_data(ORACLE_SOLE_TYPE_LIST[19])
